"""nUR MCP Server配置文件

此文件包含所有可配置参数，用于管理机器人连接、运动控制和错误处理等功能。
通过修改此文件中的参数，可以调整系统行为而无需更改源代码。
"""

# 机器人连接参数
class ConnectionConfig:
    # 连接超时时间（秒）
    CONNECTION_TIMEOUT = 30
    # 重连尝试次数
    RECONNECT_ATTEMPTS = 3
    # 重连间隔（秒）
    RECONNECT_INTERVAL = 5
    # 通信端口配置
    DASHBOARD_PORT = 29999
    RTDE_PORT = 30004
    # 安全模式类型
    SAFETY_MODE = "UR_CB3"  # 可选值: UR_CB3, UR_E_SERIES, UR_ETHERNET_IP

# 运动控制参数
class MotionConfig:
    # 关节角度误差容忍度（弧度）
    JOINT_TOLERANCE = 0.1  # 约等于5.7度
    # 位姿验证超时时间（秒）
    POSE_VERIFICATION_TIMEOUT = 60
    # 位姿验证间隔（秒）
    POSE_VERIFICATION_INTERVAL = 1
    # 最大重试次数
    MAX_RETRY_COUNT = 3

# 日志配置
class LogConfig:
    # 日志级别
    LOG_LEVEL = "INFO"  # 可选值: DEBUG, INFO, WARNING, ERROR, CRITICAL
    # 日志文件路径
    LOG_FILE = "logs/nur_mcp_server.log"
    # 日志文件大小限制（字节）
    MAX_LOG_SIZE = 10 * 1024 * 1024  # 10MB
    # 备份日志文件数量
    BACKUP_COUNT = 5

# MCP服务器配置
class ServerConfig:
    # 服务器主机地址
    HOST = "0.0.0.0"
    # 服务器端口
    PORT = 18080
    # 线程池大小
    THREAD_POOL_SIZE = 10
    # 最大连接数
    MAX_CONNECTIONS = 50

# 错误处理配置
class ErrorConfig:
    # 是否在发生错误时自动重连
    AUTO_RECONNECT_ON_ERROR = True
    # 错误消息国际化
    ERROR_MESSAGES_LANGUAGE = "zh_CN"  # 可选值: en_US, zh_CN

# 数据处理配置
class DataConfig:
    # 数据精度（小数位数）
    DATA_PRECISION = 3
    # 数据缓存大小
    DATA_CACHE_SIZE = 1000
